home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / PAS_0793 / FSTMOVE1.PAS < prev    next >
Pascal/Delphi Source File  |  1993-08-01  |  1KB  |  28 lines

  1. {─ Fido Pascal Conference ────────────────────────────────────────────── PASCAL ─
  2. Msg  : 408 of 417                                                               
  3. From : Raphael Vanney                      2:320/7.0            05 Jul 93  22:34 
  4. To   : Justin Tawil                                                              
  5. Subj : Help in quick moves                                                    
  6. ────────────────────────────────────────────────────────────────────────────────
  7. Hi !
  8.  
  9. JT>Does anyone have an Inline source for moving bytes a word or a double
  10. JT>word at a time..I need to copy data in and out of buffer very
  11. JT>quickly..Thanks..}
  12.  
  13. Procedure Move(Var Src, Dst ; Cnt : Word) ; Assembler ;
  14. Asm
  15.      Mov       CX, Cnt
  16.      Mov       DX, DS         { Sauvegarde DS }
  17.      LDS       SI, Src
  18.      LES       DI, Dst
  19.      ClD                      { A priori, on va du dbut vers la fin }
  20.      ShR       CX, 1          { On va travailler sur des mots }
  21.      Rep       MovSW          { Copie des mots }
  22.      AdC       CX, 0          { Dernier octet, le cas chant }
  23.      Rep       MovSB          { Copie dernier octet }
  24.      Mov       DS, DX         { Restauration DS }
  25. Quit:
  26. End ;
  27.  
  28. Warning : this Move proc does _not_ check for overlapping.